<
tool> (Pre-C-Compiler eXtended) An infinite-
lookahead
compiler-compiler by Peter Breuer <
ptb@comlab.ox.ac.uk> for
context dependent grammars.
PRECCX generates
ANSI C.
Specification scripts are in very
EBNF with {inherited
attributes} and
synthetic attributes allowed. Scripts can
be compiled in separate
modules and linked later.
Meta-production rules are allowed. Grammars can be
essentially LL(oo) with optimisations. A converter for
yacc
scripts is available.
Versions 1.xx were known as "PRECC" and only had unbounded
lookahead. The 2.xx series added the "X" for "extended" and
featured higher order parameterisation (inherited attributes).
Version 2.42 integrates inherited and synthesized attributes
by using a "monadic" model for parsing. You can now synthsize
attributes during the pass and inherit them in the remainder,
e.g.
@ foo = barx gum(x)
synthesises an x in bar and passes it down into gum as a
parameter. Useful for @ what = ?x did_you_say(x), for
example. It now compiles into
C instead of running an
interpreter at parse-time.
Version 2.42 runs under
Unix and
MS-DOS.
http://comlab.ox.ac.uk/archive/redo/precc.html.
E-mail: Peter Breuer <
ptb@comlab.ox.ac.uk>, Jonathan Bowen
<
J.P.Bowen@reading.ac.uk>.
[
"The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG Joint
New Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8
January 1993, ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6
(SUKUG) UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
Herts SG9 9PL, UK, pp 167-182, 1993].
(2000-04-24)